package org.ix.dynamicapis.presentation.mapper;

import org.ix.dynamicapis.presentation.condition.ApiSelectCondition;
import org.ix.dynamicapis.presentation.condition.ApiUpdateCondition;
import org.ix.dynamicapis.presentation.entity.ApiEntity;
import org.ix.dynamicapis.presentation.entity.ApiEntityExt;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;

/**
 * 接口配置数据访问
 *
 * @author 郗世豪（rarexixi@gmail.com）
 */
@Mapper
public interface ApiMapper extends BaseMapper<ApiEntity, ApiEntityExt, ApiUpdateCondition, ApiSelectCondition> {

    /**
     * 根据接口ID获取接口配置详情
     *
     * @param id 接口ID
     * @return 接口配置详情
     * @author 郗世豪（rarexixi@gmail.com）
     */
    ApiEntityExt detail(@Param("id") Integer id);

    /**
     * 批量添加接口配置
     *
     * @param list 接口配置列表
     * @return 受影响的行数
     * @author 郗世豪（rarexixi@gmail.com）
     */
    int batchInsert(@Param("list") Collection<ApiEntity> list);
}
